Rapid prototyping is the name given to an assortment of related techniques used to fabricate physical objects from computer aided design (CAD) representations of the objects. Just as a printer can take a digital representation of an image and create a two dimensional hard copy, rapid prototyping machines can ‘print’, or add and bond materials in layers to form three dimensional hard objects. Other names for creating a three dimensional prototype in this manner include freeform fabrication, solid freeform fabrication, layered manufacturing, automated fabrication, solid imaging, and additive manufacturing.
The techniques used in rapid prototyping offer numerous advantages over subtractive fabrication methods such as milling or turning. For example, an object with significant geometric complexity can be fabricated without the elaborate machine setup or final assembly required in subtractive fabrication. Rapid prototyping is also powerful because an object can be made from multiple materials and the materials can be varied in a controlled fashion at substantially any location in the object. Rapid prototyping systems reduce the construction of complex objects to a manageable, straightforward, and relatively fast process. These properties have resulted in the use of rapid prototyping as a way to reduce time to market in manufacturing by helping engineers to better understand and communicate their product designs.
The process of creating a rapid prototyping object often begins with converting a CAD file into a file understood by a rapid prototyping machine. A common file format used in rapid prototyping is the stereo lithographic (STL) format. An STL file is constructed from a CAD model of an object by approximating all the surfaces of the object with a mesh of triangular facets and writing out the nodes and outward normals of each triangular facet to a text or binary file. The STL file format was adopted as the industry standard input to rapid prototyping systems because STL files are simple to construct and because of the availability of robust algorithms for tessellating numerous different CAD file formats to the STL file format.
An accurate STL file can conform to at least the following guidelines. First, triangles should generally intersect only at their edges, and each triangle edge should preferably be shared by two and only two triangles. In other words, adjacent triangles are arranged with two vertices in common. Second, every triangle obeys the right-hand rule, which means that the vertices are ordered such that the cross product of the two edges gives an outward normal. This implies that the triangles are actual triangles, not points or lines, which are both degenerate states of a triangle when two or more vertices are identical.
A solid part is also devoid of extraneous holes. The appropriate way to represent an object with an accessible interior is to explicitly describe the surface of the interior of the object with more triangles. When these conditions are not satisfied, the STL file may be considered faulty and the virtual model generated by the STL file may not be physically valid.
There are other issues which relate directly to manufacturability. Even if a file is mathematically ‘valid’, if the part walls are too thin, the part will break under minor stresses. Similarly, if two walls of a part abut each other, they may be intended to be joined, but such intent is not included in the STL file.
Faulty STL files can be the result of problems in the original CAD file or imperfections in the algorithm used to tessellate the CAD model into an STL file. For example, a poor tessellation algorithm often results in disoriented facets that can lead to physical irregularities in the manufactured object. Other problems occur because of mathematical rounding errors during the tessellation process. If the rounding errors result in triangles that are too small, then gaps or holes may be formed in the model. If the rounding errors result in triangles that are too large, then excess material may be deposited and the surface will be irregular.
Errors can also result from the CAD user's ignorance of STL file requirements regarding internal walls or the errors may be an artifact of the CAD design tool. An internal wall problem does not hinder the building of the object but it may cause problems in the finished prototype. Such is the case when using a rapid prototyping process in which a laser beam hardens the resin. The laser beam may polymerize the areas having internal walls twice, resulting in over-cure and possible warping of internal wall surfaces. These and many other errors can result in reduced utility or even useless objects formed in freeform fabrication.
Finally, errors can be created in the process of generating rapid prototyping files from non-CAD processes. As an example, a three dimensional part can be viewed on the screen in a file format known as VRML (“Virtual Reality Markup Language”) and such files can often be converted to STL or other rapid prototyping formats via the appropriate tools. However, because the original destination of the part was the screen, the original design is likely to contain errors that are invisible when displayed on screen, which prevent the part from being manufactured. Zero-width walls are one such problem, and holes or inverted polygons (i.e., bad normals) are another problem. The conversion process may introduce more problems, especially if the conversion can only handle a subset of the original file format. VRML includes complex objects such as curves and two-dimensional ‘billboards’ with animated content, so converting these to a rapid prototyping format can range from hard to impossible.
Several different approaches have been taken to fix faulty STL files and to improve the fabrication of the objects described by the STL files. One common approach is to have a rapid prototyping machine operator fix the errors by directly editing the STL file with an STL File editor tool, but there are several disadvantages to taking this approach. Manually correcting STL files is time consuming, which adds to the cost of the finished prototype. Also, operators occasionally create additional errors while fixing previous errors. Historically, rapid prototyping machines have been used to develop prototypes based on CAD models of mechanical objects. Therefore, most rapid prototyping machine operators are skilled at editing STL files intended for mechanical use, but these operators may not have experience in fixing STL files intended for other uses. Unless the STL file is intended for a mechanical use, the original intentions of the designer might not be preserved in the changes made by the operator.
Software programs are also available for automatically correcting errors in rapid prototyping build files. The problems associated with using these software programs are similar to the problems with using an operator. Although the software programs can be faster than operators, most software correction algorithms are geared toward correcting build files that describe mechanical objects.